/**
 * 
 */
package systole.persistence.brokersInterface;

import java.util.List;

import systole.domain.signals.SignalFrequency;
import systole.exceptions.ExceptionDAO;

/**
 * @author jmj
 *
 */
public interface SignalFrequencyBroker {

    /**
     * @return The List of frequency signal.
     * @throws ExceptionDAO
     */
    public List<SignalFrequency> getAllSignalFrequency() throws ExceptionDAO;

    /**
     * @param id
     * @return The signal freqquency with id.
     * @throws ExceptionDAO
     */
    public SignalFrequency getSignalFrequencyById(Integer id) throws ExceptionDAO;

    /**
     * 
     * @param frequency
     * @throws ExceptionDAO
     */
    public void insert(SignalFrequency frequency) throws ExceptionDAO;

    /**
     *
     * @param frequency
     * @throws ExceptionDAO 
     */
    public void update(SignalFrequency frequency) throws ExceptionDAO;

    /**
     *
     * @param name
     * @param id
     * @return if signal frequency exist
     * @throws ExceptionDAO
     */
    public boolean existSignalFrequency(String name, Integer id) throws ExceptionDAO;

    /**
     * 
     * @param description
     * @return
     * @throws ExceptionDAO
     */
    public SignalFrequency getSignalFrequencyByName(String description) throws ExceptionDAO ;
}
